package bean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import mensagem.MsgCidade;
import session.SessionTransportadora;
import entity.Transportadora;

@ManagedBean
@SessionScoped
public class BeanTransportadora {

	private Transportadora trasnportadora = new Transportadora();

	private List<Transportadora> trasnportadoras = new ArrayList<Transportadora>();

	private Transportadora filtro = new Transportadora();

	private SessionTransportadora session = new SessionTransportadora();

	// //////////////////////////CONSTRUCTOR//////////////////////////////////////
	// ///////////////////////////////////////////////////////////////////////////

	public BeanTransportadora() {

	}

	// //////////////////////////CONSTRUCTOR//////////////////////////////////////
	// ///////////////////////////////////////////////////////////////////////////

	public Transportadora getTransportadora() {
		return trasnportadora;
	}

	public void setTransportadora(Transportadora trasnportadora) {
		this.trasnportadora = trasnportadora;
	}

	public List<Transportadora> getTransportadoras() {
		return trasnportadoras;
	}

	public void setTransportadoras(List<Transportadora> trasnportadoras) {
		this.trasnportadoras = trasnportadoras;
	}

	public Transportadora getFiltro() {
		return filtro;
	}

	public void setFiltro(Transportadora filtro) {
		this.filtro = filtro;
	}

	public SessionTransportadora getSession() {
		return session;
	}

	public void setSession(SessionTransportadora session) {
		this.session = session;
	}

	// ******************************METODOS******************************
	// ***********************************************************************************
	// ******************************************************************************************

	public String save() throws Exception {
		if (this.trasnportadora.getId() != null) {
			return this.update();
		}
		if (this.session.save(this.trasnportadora)) {
			this.reinit();
			return MsgCidade.msgSave();
		}
		return "";
	}

	public String update() throws Exception {
		this.session.update(trasnportadora);
		this.reinit();
		return MsgCidade.msgUpdate();
	}

	public void reinit() {
		this.trasnportadora = new Transportadora();
		this.trasnportadoras = new ArrayList<Transportadora>();
		this.filtro = new Transportadora();
	}

	public String remove() {
		try {
			this.session.remove(trasnportadora);
			return MsgCidade.msgRemove();
		} catch (Exception e) {
			return MsgCidade.msgNotRemove();
		}
	}

	public void find() throws Exception {
		this.trasnportadoras = this.session.getController().findList(filtro);
	}

}
